#include <stdio.h> 
// C语言语句分为以下五类：
//	1.表达式语句
//	2.函数调用语句
//  3.控制语句
//  4.复合语句
//  5.空语句



// 控制语句 用于控制程序的执行流程，以实现程序的各种结构方式，它们有特定的语句定义符组成，主要有九种
// 分为三类： 
// 	1.条件判断语句也叫分支语句:if语句、 switch语句;
//  2.循环执行语句：do while语句、while语句、for语句;
//  3.转向语句:break语句、goto语句、continue语句、return语句。



// 分支语句（选择结构)

// if语句:
// 在C语言中 0 表示假, 非0 表示真
// 如果要执行多条语句,应该使用代码块(用"{}"括起来的代码) 
// 注意: else 只与它里的最近的 if/else if 匹配 
// 注意: if 和 else 只算一条语句 
// 注意: if(3 == num) 这么写
 
//int main(){
//	int age = 20;
//	scanf("%d",&age); 
//	if(age<18){
//		printf("未成年\n"); 
//		printf("禁止饮酒\n"); 
//	}
//	else if(age >= 18 && age < 28){
//		printf("青年\n"); 
//	} 
//	else if(age >=28 && age < 40){
//		printf("中年\n");	
//	} 
//	else if(age >= 40 && age < 60){
//		printf("壮年\n"); 
//	} 
//	else if(age >= 60 && age <100){
//		printf("老年\n");
//	}
//	else{
//		printf("老寿星\n"); 
//	} 
//	return 0; 
//} 

// 判断一个数是否为奇数
//int main(){
//	int num = 0;
//	scanf("%d",&num);
//	if(num % 2 == 1){
//		printf("%d是奇数\n",num); 
//	}
//	else{
//		printf("%d是偶数\n",num); 
//	} 
//	
//	return 0; 
//} 

// 输出1-100之间的奇数
//int main(){
//	int i = 0; 
//	while(i <= 100){
//		if(i % 2 == 1){
//			printf("%d ",i);
//		}
//		i++ ;
//	} 
//	return 0; 
//} 


// switch语句

//int main(){
//	int day = 0;
//	scanf("%d",&day);
//	switch(day){ // 表达式必须包含整形（字符本质上也是整形），常量表达式 
//		case 1:{
//			printf("星期一\n");
//			break;
//		}
//		case 2:{
//			printf("星期二\n"); 
//			break;
//		}
//		case 3:{
//			printf("星期三\n");
//			break;
//		}
//		case 4:{
//			printf("星期四\n"); 
//			break;
//		}
//		case 5:{
//			printf("星期五\n");
//			break;
//		}	
//		case 6:{
//			printf("星期六\n");
//			break;
//		}
//		case 7:{
//			printf("星期日\n"); 
//			break;
//		}
//		default{
//			printf("输入错误") 
//			break;
//		}		
//	}
//	
//	return 0;
//} 

// 输入1-5，输出的是"weekday",输入6-7,输出"weekend" 
// 好习惯:在每个switch语句中放一条default,甚至是在后面加一个break 
// int main(){
// 	int day = 0;
// 	scanf("%d-%d",&day); 
// 	switch(day){
// 		case 1:
// 		case 2:
// 		case 3:
// 		case 4:
// 		case 5:
// 			printf("weekday"); 
// 			break;
// 		case 7:
// 		case 6:
// 			printf("weekend"); 
// 			break;
// 		default:
// 			printf("选择错误\n");
// 			printf("重新输入\n");
// 			break;
// 	}
	
// } 


// 打印1~10
// whlie循环中的
// 	break:永久的终止循环
//  continue:跳过本次循环后面的代码,直接去判断部分,进行下一次循环的判断 
// int main(){
// 	int i = 1;
// 	while(i <= 10){
// 		i++;
// 		if(5 == i)
// 			continue; // 跳过本次循环后继续执行循环 
// //			break; 
// 		printf("%d ",i);
		
// 	}
// } 


// int main(){
	// int ch = 0
	// while(getchar())
	// EOF:end of file
//	int ch = getchar(); // 获取一个字符的ASCLL码值 ,从缓冲区读取一个字符 
//	printf("%c\n",ch); // 输出ASCLL码值的字符 
//	putchar(ch); // 2 
	
//	int ch = 0;
//	while((ch=getchar()) != EOF){  // 输入^z,则终止 
//		putchar(ch);
//	}
	
	// 例子
// 	char password[20] = {0}; 
// 	printf("请输入密码:>");
// 	scanf("%s",password) ;
	
// //	getchar(); // 在缓冲区读取走 \n ,比较绰的写法,只能清理一个字符 
	
// 	// 更加聪明的写法：清理缓冲区
// 	int ch = 0;
// 	while((ch = getchar()) != '\n')；
	
// 	printf("请确认密码(Y/N):>");
// 	int ret = getchar();
// 	if('Y' == ret){
// 		printf("YES\n"); 
// 	} 
// 	else{
// 		printf("No\n");
// 	} 
// 	return 0; 

// }


// int main(){
// 	char ch = '\0';
// 	while((ch=getchar())!=EOF){
// 		if(ch<'0' || ch > '9')
// 			continue;
// 		putchar(ch); 
// 	} 
// 	// 只打印数字字符 
// 	return 0; 


// for循环 
// 语法(表达式1;表达式2;表达式3) 
//		循环 
// 	 表达式1:初始化
// 	 表达式2:判断部分
// 	 表达式3:调整部分
// 注意:
//   不要在for循环内随意修改循环变量,防止for循环失去控制
//   建议for语句循环控制变量的取值采用"前闭后开区间"写法    
	

//int main(){
//	int i = 0;
//	for(i=0;i<10;i++) 
//	{
//		if(2 == i)
//			continue;  // 直接跳到调整部分 
//		if(5 == i)
//			break ;
//		printf("%d\n",i);
//		printf("haha\n"); 
//	}
//
//	return 0; 
//} 


// for循环的变种 
// for循环的判断部分省略意味着判断恒成立
//int main()
//{
//	for(;;)
//	{
//		printf("hehe") ;
//	}
//	return 0; 
// } 

//int main()
//{
//int i = 0;
//int j = 0;
//int main()
//{
//	for(i=0;i<10;i++)
//	{
//		printf("%d\n",i+1);
//		for(j=0;j<10;j++)
//			printf("%d\n",j);
//	}
//		 
//} 



// 使用多个变量控制
// int main()
// {
// int x,y = 0;
// for(x=0,y=0;x<2 && y<5;++x,y++)
//{
//	printf("hehe"); 
//}	
//return 0; 
// } 


// do ... while() 循环 
// 语法:
//  do
//	  循环语句;
//  while(表达式); 

int main()
{
	int i = 1;
	do
	{	
		
		if (i == 5)
			continue; 
		printf("%d ",i);
		i++;
		
	}
		
	while (i<=10);
	
	return 0; 
 } 

